<template>
	<u-popup class="tanchuang" v-model="show" mode="center" border-radius="10" length="90%" :mask-close-able="false">
		<view class="progress-wrap">
			<view class="">
				<text class="popup_title">
					发现新版本
				</text>
			</view>
			<view class="" style="color: red;">
				<text class="popup_title">
					更新提示：下载过程中请勿做任何操作
				</text>
			</view>
			
			<text class="popup_title">
				{{progress>=100?'下载完成':'下载中....'}}
			</text>
			<view class="progress-box">
				<!--  show-info  -->
				<progress :percent="progress" border-radius="30" stroke-width="12" />
			</view>
			
		</view>
	</u-popup>
</template>

<script>
	export default {
		data() {
			return {
				show:true,
				progress: 0
			};
		},
		/* 生命周期函数--监听页面加载 */
		onLoad: function() {
			this.doUpData('https://feishazoushi.cn/download/customer.apk')
		},
		methods: {
			doUpData(Url) {
				const downloadTask = uni.downloadFile({ //执行下载
					url: Url, //下载地址
					timeout: 1000 * 30, //30秒超时时间
					success: downloadResult => { //下载成功
						console.log(downloadResult)
						// this.showdownLine = false
						if (downloadResult.statusCode == 200) {
							plus.runtime.install( //安装软件
								downloadResult.tempFilePath, {
									force: true
								},
								function(res) {
									plus.runtime.restart();
								}
							);
						}
					},
					fail: err => {
						// this.showdownLine = false
						uni.showToast('下载失败请重新下载')
						console.log(err)
					},
					complete: com => {

						downloadTask.offProgressUpdate(); //取消监听加载进度
					}
				});

				// 下载进度
				downloadTask.onProgressUpdate(res => {
					// uni.showToast(res.progress)
					this.progress = res.progress

					console.log('下载进度' + res.progress);
					// console.log('已经下载的数据长度' + res.totalBytesWritten);
					// console.log('预期需要下载的数据总长度' + res.totalBytesExpectedToWrite);

					// 满足测试条件，取消下载任务。
					// if (res.progress > 50) {
					// 	downloadTask.abort();
					// }
				});
			},
		}
	};
</script>
<style scoped>
	.progress-wrap{
		padding: 30rpx;
	}
	.popup_title {
		font-size: 36rpx;
		font-weight: 700;
		text-align: center;
		padding-bottom: 20rpx;
		/* padding: 30rpx; */
	}
	.progress-box{
		padding-top: 20rpx;
	}
</style>
